@jjdenhertog/ai-driven-development
Version:
AI-driven development workflow with learning capabilities for Claude
1 lines • 10.1 kB
JavaScript
(()=>{var a={};a.id=888,a.ids=[888],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12412:a=>{"use strict";a.exports=require("assert")},14119:(a,b,c)=>{"use strict";c.d(b,{dn:()=>h,gX:()=>g,bW:()=>i,MT:()=>j});var d=c(73024),e=c(76760),f=c.n(e);async function g(){let a=process.env.PROJECT_ROOT||process.cwd();for(let b=0;b<10;b++){let b=f().join(a,".aidev-storage");try{if((await d.promises.stat(b)).isDirectory())return b}catch(a){}let c=f().dirname(a);if(c===a)break;a=c}return null}async function h(a){let b=await g();if(!b)throw Error(".aidev-storage directory not found");return f().join(b,a)}async function i(a){let b=await g();return b?f().join(b,a):null}async function j(){return!process.env.PROJECT_ROOT&&null===await g()}},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},76851:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>z});var e=c(96559),f=c(48088),g=c(37719),h=c(26191),i=c(81289),j=c(261),k=c(92603),l=c(39893),m=c(14823),n=c(47220),o=c(66946),p=c(47912),q=c(99786),r=c(46143),s=c(86439),t=c(43365),u=c(32190),v=c(95528),w=c(76760),x=c.n(w),y=c(14119);async function z(a,{params:b}){try{let{id:a,sessionId:c}=await b,d=await (0,y.dn)(`tasks_output/${a}/${c}`);try{await (0,v.access)(d)}catch{return u.NextResponse.json({error:"Session not found"},{status:404})}let e=(await (0,v.readdir)(d)).filter(a=>a.endsWith(".json"));if(0===e.length)return u.NextResponse.json({error:"No session data found"},{status:404});let f=["aidev-index.json","aidev-code-phase0.json","aidev-code-phase1.json","aidev-code-phase2.json","aidev-code-phase3.json","aidev-code-phase4a.json","aidev-code-phase4b.json","aidev-code-phase5.json","aidev-update-index.json"],g=0,h=!0,i=null,j=null,k=[],l="Unknown Task",m="";for(let a of f)if(e.includes(a))try{let b=await (0,v.readFile)(x().join(d,a),"utf8"),c=JSON.parse(b);c.total_duration_ms&&(g+=c.total_duration_ms),!1===c.success&&(h=!1),c.start_time&&(!i||c.start_time<i)&&(i=c.start_time),c.end_time&&(!j||c.end_time>j)&&(j=c.end_time),c.timeline&&Array.isArray(c.timeline)&&(k=k.concat(c.timeline)),"aidev-index.json"===a&&(l=c.task_name||l,m=c.user_prompt||m)}catch{}k.sort((a,b)=>{let c=new Date(a.timestamp||0).getTime(),d=new Date(b.timestamp||0).getTime();return c-d});let n={"aidev-index.json":"Claude (index)","aidev-code-phase0.json":"Claude (code inventory)","aidev-code-phase1.json":"Claude (architect)","aidev-code-phase2.json":"Claude (test designer)","aidev-code-phase3.json":"Claude (programmer)","aidev-code-phase4a.json":"Claude (test executer)","aidev-code-phase4b.json":"Claude (test fixer)","aidev-code-phase5.json":"Claude (reviewer)","aidev-update-index.json":"Claude (update index)"},o=e.map(a=>{let b=n[a];return b||(b=a.replace(".json","").split("-").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ")),{filename:a,label:b}}),p=Object.keys(n);o.sort((a,b)=>{let c=p.indexOf(a.filename),d=p.indexOf(b.filename);return -1!==c&&-1!==d?c-d:-1!==c?-1:-1!==d?1:a.filename.localeCompare(b.filename)});let q={session_id:c,task_id:a,task_name:l,user_prompt:m,start_time:i||new Date().toISOString(),end_time:j||new Date().toISOString(),total_duration_ms:g,success:h,success_reason:h?"All phases completed successfully":"One or more phases failed",timeline:k,files:o,metadata:{files_created:0,files_modified:0,tests_run:0,tests_passed:0,errors_encountered:0,phase_count:f.filter(a=>e.includes(a)).length}};return u.NextResponse.json(q)}catch(a){return u.NextResponse.json({error:"Failed to load session"},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/tasks/[id]/sessions/[sessionId]/route",pathname:"/api/tasks/[id]/sessions/[sessionId]",filename:"route",bundlePath:"app/api/tasks/[id]/sessions/[sessionId]/route"},distDir:".next",projectDir:"",resolvedPagePath:"/Users/jjdenhertog/Projects/ai-driven-development/src/web/src/app/api/tasks/[id]/sessions/[sessionId]/route.ts",nextConfigOutput:"standalone",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){var d;let e="/api/tasks/[id]/sessions/[sessionId]/route";"/index"===e&&(e="/");let g=await A.prepare(a,b,{srcPage:e,multiZoneDraftMode:"false"});if(!g)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,params:v,nextConfig:w,isDraftMode:x,prerenderManifest:y,routerServerContext:z,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D}=g,E=(0,j.normalizeAppPath)(e),F=!!(y.dynamicRoutes[E]||y.routes[D]);if(F&&!x){let a=!!y.routes[D],b=y.dynamicRoutes[E];if(b&&!1===b.fallback&&!a)throw new s.NoFallbackError}let G=null;!F||A.isDev||x||(G="/index"===(G=D)?"/":G);let H=!0===A.isDev||!F,I=F&&!H,J=a.method||"GET",K=(0,i.getTracer)(),L=K.getActiveScopeSpan(),M={params:v,prerenderManifest:y,renderOpts:{experimental:{dynamicIO:!!w.experimental.dynamicIO,authInterrupts:!!w.experimental.authInterrupts},supportsDynamicResponse:H,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:null==(d=w.experimental)?void 0:d.cacheLife,isRevalidate:I,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d)=>A.onRequestError(a,b,d,z)},sharedContext:{buildId:u}},N=new k.NodeNextRequest(a),O=new k.NodeNextResponse(b),P=l.NextRequestAdapter.fromNodeNextRequest(N,(0,l.signalFromNodeResponse)(b));try{let d=async c=>A.handle(P,M).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=K.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${J} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${J} ${a.url}`)}),g=async g=>{var i,j;let k=async({previousCacheEntry:f})=>{try{if(!(0,h.getRequestMeta)(a,"minimalMode")&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let e=await d(g);a.fetchMetrics=M.renderOpts.fetchMetrics;let i=M.renderOpts.pendingWaitUntil;i&&c.waitUntil&&(c.waitUntil(i),i=void 0);let j=M.renderOpts.collectedTags;if(!F)return await (0,o.I)(N,O,e,M.renderOpts.pendingWaitUntil),null;{let a=await e.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(e.headers);j&&(b[r.NEXT_CACHE_TAGS_HEADER]=j),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==M.renderOpts.collectedRevalidate&&!(M.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&M.renderOpts.collectedRevalidate,d=void 0===M.renderOpts.collectedExpire||M.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:M.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:e.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:d}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:e,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})},z),b}},l=await A.handleResponse({req:a,nextConfig:w,cacheKey:G,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:k,waitUntil:c.waitUntil});if(!F)return null;if((null==l||null==(i=l.value)?void 0:i.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==l||null==(j=l.value)?void 0:j.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,h.getRequestMeta)(a,"minimalMode")||b.setHeader("x-nextjs-cache",B?"REVALIDATED":l.isMiss?"MISS":l.isStale?"STALE":"HIT"),x&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(l.value.headers);return(0,h.getRequestMeta)(a,"minimalMode")&&F||m.delete(r.NEXT_CACHE_TAGS_HEADER),!l.cacheControl||b.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,q.getCacheControlHeader)(l.cacheControl)),await (0,o.I)(N,O,new Response(l.value.body,{headers:m,status:l.value.status||200})),null};L?await g(L):await K.withPropagatedContext(a.headers,()=>K.trace(m.BaseServerSpan.handleRequest,{spanName:`${J} ${a.url}`,kind:i.SpanKind.SERVER,attributes:{"http.method":J,"http.target":a.url}},g))}catch(b){if(L||await A.onRequestError(a,b,{routerKind:"App Router",routePath:E,routeType:"route",revalidateReason:(0,n.c)({isRevalidate:I,isOnDemandRevalidate:B})}),F)throw b;return await (0,o.I)(N,O,new Response(null,{status:500})),null}}},78335:()=>{},81115:a=>{"use strict";a.exports=require("constants")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4985,6055,5528],()=>b(b.s=76851));module.exports=c})();